The present invention relates to an apparatus, method and program product for initiating operation of a computer system and particularly to starting up a computer by selectively switching operating systems installed in the computer.
As pieces of electronic equipment have downsized and sophisticated in recent years, portable computers including notebook computers and hand-held computers have achieved as high performance as that of desktop computers. Accordingly, systems have appeared which provide portability and expandability with all kinds of media drives and I/O interfaces integrated into a single docking station.
This allows a user to employ a single computer with a simple hardware configuration for portable use and also to employ various features of peripheral devices by attaching a docking station thereto.
In a modern computer, system management or a user's fundamental operating environment is usually provided by an operating system (hereinafter referred to as OS). The operating environment to be provided differs according to the type of OS loaded and executed in a computer systems central processing unit (CPU). Therefore, it is preferable to select an appropriate OS according to a work environment or a purpose. It may also be desirable to select an appropriate OS for recovery from disastrous failures such as the loss or improper removal of a hard drive. Such recovery may be as simple as enabling limited use of the computer system for particular purposes, such as network access to call in appropriate help.
For example, in a personal computer such as a desktop computer or a notebook computer, a versatile OS (hereinafter referred to as a general-purpose OS) such as UNIX or Windows (Microsoft Corporation) is commonly used, while in a hand-held computer such as PDA (Personal Digital Assistant), a compact OS (hereinafter referred to as a small OS) such as Pocket PC or Windows CE (Microsoft Corporation) or Palm OS (Palm Inc.) is used.
In a general-purpose OS, functions to be provided may have various types of designs and a wide variety of designs also exist for a user interfaces. On the other hand, since much significance is put on portability of a computer in a small OS, a small OS is subject to various limitations as follows: A program is required to be small in size in order to reduce the number of mechanical structures, for example magnetic memory, as much as possible, which significantly affects weight of a computer or operating time of a battery. And a user interface is required to have a design which takes account of operability on a small screen.
Since system management and a fundamental operating environment in a computer is provided by an OS, an OS to be installed on a computer is preferably selected accordance with an environment or a purpose of the computer. However, in the case of the system in which a hardware configuration and an operating environment greatly differs between when it is used as a portable unit and when it is attached with a docking station, the type of an appropriate OS may also differ between these situations. Similar consideration may impact disaster recovery as mentioned above.
In one specific example, a simple hardware configuration for a portable use preferably uses the above-described small OS, while a docking station-attached configuration preferably uses a more versatile general purpose OS. In another example, the unavailability of a general purpose OS due to disastrous failure may result in a small OS being sufficient to enable necessary limited functionality.
A conventional approach to selecting and booting a plurality of OS in a computer includes a method that loads a plurality of OS in a plurality of storage devices, then operates a predetermined program tool upon starting a computer to select an OS to start. Another method has also been used that prepares a plurality of hibernation files corresponding to a plurality of OS with hibernation technique, and selects an OS by selecting a desired file among the above-described hibernation files upon restarting.
In either case, however, a normal boot sequence of a computer must execute once and an OS to start must be selected during that sequence.
Under the environment of a computer with frequent power-on/power-off as used as a portable unit, the question is how to shorten a time period from the start of an OS to the start of a work. However, a method using a predetermined program tool or hibernation technique requires a certain period of time for starting an OS by executing a normal boot sequence. Therefore, high-speed startup such as that of a PDA cannot be expected from the above-described method.
Due to its large program size, the general-purpose OS is commonly stored on a magnetic disk storage (hard disk storage). When a computer is used as a portable unit, a mechanical configuration of the magnetic disk storage could be harmed as an OS is being read out from the disk by powering the computer on.